Formally analyzing software architectural specifications using SAM
نویسندگان
چکیده
In the past decade, software architecture has emerged as a major research area in software engineering. Many architecture description languages have been proposed and some analysis techniques have also been explored. In this paper, we present a graphical formal software architecture description model called software architecture model (SAM). SAM is a general software architecture development framework based on two complementary formalisms––Petri nets and temporal logic. Petri nets are used to visualize the structure and model the behavior of software architectures while temporal logic is used to specify the required properties of software architectures. These two formal methods are nicely integrated through the SAM software architecture framework. Furthermore, SAM provides the flexibility to choose different compatible Petri net and temporal logic models according to the nature of system under study. Most importantly, SAM supports formal analysis of software architecture properties in a variety of well-established techniques––simulation, reachability analysis, model checking, and interactive proving. In this paper, we show how to formally analyze SAM software architecture specifications using two well-known techniques––symbolic model checking with tool Symbolic Model Verifier, and theorem proving with tool STeP. 2002 Elsevier Inc. All rights reserved.
منابع مشابه
SAMAT - A Tool for Software Architecture Modeling and Analysis
A software architecture specification plays a critical role in software development process. SAM is a general framework for developing and analyzing software architecture specifications. SAM supports the scalability of architectural descriptions through hierarchical decomposition and the dependability analysis of architectural descriptions using a dual formalism based on Petri nets and temporal...
متن کاملSemi-automated architectural abstraction specifications for supporting software evolution
In this paper we present an approach for supporting the semi-automated architectural abstraction of architectural models throughout the software lifecycle. It addresses the problem that the design and implementation of a software system often drift apart as software systems evolve, leading to architectural knowledge evaporation. Our approach provides concepts and tool support for the semiautoma...
متن کاملOn Relating Functional Specifications to Architectural Specifications: A Case Study ; CU-CS-933-02
Software architecture specifications are predominantly concerned with describing thecomponent structure of systems and how the components interact behaviorally. Littleattention has been paid to formally relating those specifications to higher levels of speci-fication, such as the system requirements. In this paper we present our progress towardaddressing an instance of this prob...
متن کاملOn relating functional specifications to architectural specifications: A case study
Software architecture specifications are predominantly concerned with describing thecomponent structure of systems and how the components interact behaviorally. Littleattention has been paid to formally relating those specifications to higher levels of speci-fication, such as the system requirements. In this paper we present our progress towardaddressing an instance of this prob...
متن کاملBehavioral Refinement of Software Architectures
Formal methods are mathematical techniques which aim at introducing sound engineering principles into software development. Especially in early development phases, where the overall structure of a software system — also called its software architecture — is designed, formal methods help to avoid errors. Therefore, a lot of formal methods based research has been and still is undertaken in the fi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Systems and Software
دوره 71 شماره
صفحات -
تاریخ انتشار 2004